Group communication protocol designed for multicast communication may be used to communicate messages between endpoints forming a group. Communication endpoints can be processes or objects, or any entity that can send and receive messages to/from a group.
A flush protocol forces group members to send all their pending message prior a predetermined event. The process of flushing acquiesces the cluster so that a state transfer operation or a join operation can be achieved. Thus, a flush operation is performed on a group when a new member joins the group. Subsequently, in to transfer the state of the group to the new member, another flush operation needs to be performed. As such, two flush operations are required upon a join and state transfer operations. It would be desirable to require only one flush operation for both join and state transfer operations.